博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jenkins 构建细节 - 邮件通知
阅读量:4070 次
发布时间:2019-05-25

本文共 3054 字,大约阅读时间需要 10 分钟。

Jenkins 邮件通知

配置邮件服务器地址:

一、准备邮件内容

在项目根目录编写 email.html ,并把文件推送到 Gitlab

如果有多个分支,那么每个分支内 根目录都要有此 email.html 文件

        
${ENV,var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志
(本邮件是程序自动下发,请勿回复!)

构建结果 - ${BUILD_STATUS}

构建信息
Changes Since Last Successful Build:

${CHANGES_SINCE_LAST_SUCCESS,reverse=true, format="Changes for Build #%n:
%c
",showPaths=true,changesFormat="
[%a]
%m
",pathFormat="%p"}
Failed Test Results

$FAILED_TESTS
构建日志(最后100行):

在这里插入图片描述

二、pipeline - Jenkinsfile 流水线添加 邮件告警

pipeline 采用 Post - always 永久提交的方式,来发送邮件,具体脚本格式如下:

在这里插入图片描述

在这里插入图片描述

post {						#提交        always {			#不论结果如何都提交        emailext (			#提交一个邮件            subject: '\'构建通知:${PROJECT_NAME} - Build # ${BUILD_NUMBER} - ${BUILD_STATUS}\'',								 #指定邮件标题            body: '${FILE,path="email.html"}',		#指定邮件内容            to: 'shm1136265636@163.com'     		#指定邮件发到哪里,(指定邮箱)            )        }    }

完整 jenkinsfile脚本,修改后上传到 Gitlab 项目根目录,如下:

pipeline {    agent any    stages {        stage('pull code') {            steps {                checkout([$class: 'GitSCM', branches: [[name: '*/${branch}']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'gitlab-manven', url: 'git@192.168.168.4:cheliang/test2.git']]])             }        }        stage('build project') {            steps {                sh label: '', script: '''echo "======= 开始打包 ========"                source /etc/profile                mvn clean package                echo "======= 打包结束、开始部署 ======="'''            }        }        stage('publish project') {            steps {                deploy adapters: [tomcat9(credentialsId: 'b73170b6-fa08-4350-9d35-530b1eb19b75', path: '', url: 'http://192.168.168.5:8080/')], contextPath: null, war: 'target/*.war'            }        }    }    post {        always {        emailext (            subject: '\'构建通知:${PROJECT_NAME} - Build # ${BUILD_NUMBER} - ${BUILD_STATUS}\'',            body: '${FILE,path="email.html"}',            to: 'shm1136265636@163.com'                    )        }    }}

三、修改代码触发构建,验证是否可以成功发送邮件

在这里插入图片描述

在这里插入图片描述

转载地址:http://eyrji.baihongyu.com/

你可能感兴趣的文章
ACfly之所以不怕炸机因为它觉得某个传感器数据不安全就立马不用了
查看>>
我发觉,不管是弄ROS OPENCV T265二次开发 SDK开发 caffe PX4 都是用的C++
查看>>
ROS的安装(包含文字和视频教程,我的ROS安装教程以这篇为准)
查看>>
国内有个码云,gitee
查看>>
原来我之前一直用的APM固件....现在很多东西明白了。
查看>>
realsense-ros里里程计相关代码
查看>>
似乎写个ROS功能包并不难,你会订阅话题发布话题,加点逻辑处理,就可以写一些基础的ROS功能包了。
查看>>
if __name__ == ‘__main__‘:就是Python里的main函数,脚本从这里开始执行,如果没有main函数则从上到下顺序执行。
查看>>
PX4官方用户和开发手册的首页面是会给你选择英文和中文的
查看>>
网络协议栈我是不是可以这么理解,就是把你要发送的数据自动处理成TCPIP格式的消息发出去,这种底层的转换不需要你弄了。
查看>>
除了LwIP还有uIP
查看>>
《跟工程师学嵌入式开发》这本书最后的终极项目我反而觉得有说头
查看>>
博士的申请考核制
查看>>
我感觉想让无人机在T265下飞得更稳,可以结合激光雷达,光流等传感器一起啊。多传感器融合应该是一个必由之路。
查看>>
那些硬件的初始化函数主要是在做些上什么?
查看>>
智能无人机课程用的是研扬TX2底板+TX2核心板
查看>>
B站上还是有不少无人机仿真的视频的
查看>>
也有用LQR对四轴飞行器控制的
查看>>
四轴的控制方法和平衡车的控制方法都可以归结为欠驱动系统的控制方法,这才是玩通了。
查看>>
欠驱动系统的控制是非线性控制理论中最具挑战性的方向之一
查看>>